МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІНСТИТУТ КОМП’ЮТЕРНИХ НАУК ТА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра “Системи автоматизованого проектування”
ВИВЧЕННЯ БІБЛІОТЕКИ ПРИКЛАДНИХ ПРОГРАМ NLTK, ДЛЯ ОПРАЦЮВАННЯ ТЕКСТІВ ПРИРОДНОЮ МОВОЮ.
ОБРОБКА ОКРЕМИХ СЛІВ (токенізація та нормалізація).
Методичні вказівки до лабораторної роботи № 3
з дисципліни “Комп’ютерна лінгвістика”
для студентів спеціальності 7.030.505 “Прикладна лінгвістика”
та магістрів за фахом 8.030.505 “Прикладна лінгвістика”.
Затверджено
на засіданні кафедри
“Системи автоматизованого проектування”
Протокол № 8 від 21.XI.2005 р.
на засіданні методичної ради ІКНІ
Протокол № 4-05/06 від 1.XII.2005 р.
ВАК № 1769 від 12.XII.2005 р.
Львів-2005
ВИВЧЕННЯ БІБЛІОТЕКИ ПРИКЛАДНИХ ПРОГРАМ NLTK, ДЛЯ ОПРАЦЮВАННЯ ТЕКСТІВ ПРИРОДНОЮ МОВОЮ. ОБРОБКА ОКРЕМИХ СЛІВ (токенізація та нормалізація). Методичні вказівки до лабораторної роботи № 3 з дисципліни “Комп’ютерна лінгвістика” для студентів спеціальності 7.030.505 “Прикладна лінгвістика” та магістрів за фахом 8.030.505 “Прикладна лінгвістика” для стаціонарної та заочної форм навчання/Укл. А.Б.Романюк. - Львів: Національний університет ”Львівська політехніка”, 2005. - 24с.
Укладачі: Романюк А. Б., канд. техн. наук, ст. викладач
Відповідальний за випуск: Лобур М. В., доктор технічних наук, професор
Рецензенти: Каркульовський В. І., канд. техн. наук, доцент
Шуневич Б.І., канд. філол. наук, доцент.
МЕТА РОБОТА
Вивчення основ програмування на мові Python.
Ознайомлення з токенізацією та нормалізацією.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Мова (мовлення) може бути розділена на частини різного розміру: починаючи від морфем і до параграфів. Ця лабораторна робота присвячена словам. Це дуже важливий рівень опрацювання текстів природною мовою (NLP). Тільки що вважати словом і як вони повинні бути представити в РС? Це просте питання, але проблеми у самому визначенні слова і його представленні залишаються актуальним. В лабораторній роботі буде розглянуто питання розділення тексту на слова, відмінностей між двома видами слів в текстах (token, type), доступу до джерел текстових даних, включаючи файли, веб-сторінки, лінгвістичні корпуси, які використовує Python і NLTK, а також стемінг і нормалізація.
1.1 Tokens, Types і тексти
В одній з попередніх лабораторних робіт розглядався приклад, яким чином стрічка може бути перетворена (розділена) на список слів. Використовуючи функцію len() можна визначити кількість елементів списку – визначити кількість слів:
Цей процес сегментування стрічки символів на слова відомий як токенізація. Токенізація – початковий етап всього того, що відбувається з текстом при його автоматичному опрацюванні. Розглянемо токенізацію більш докладно.
З попередніх лабораторних робіт відомо, як зібрати список унікальних елементів стрічки, використовуючи вбудовану функцію Python set ( ) для видалення дублікатів.
Відповідаючи на запитання скільки слів у sentence, - отримано два різні значення в залежності від того, враховувалося дублювання чи ні. Отже, „слово” в цих двох прикладах має різні значення. Щоб розрізнити ці значення вводяться поняття token (словоформа) і type (тип). Слово token є індивідуальний окремий випадок вживання слова у конкретному визначеному контексті, воно існує в часі і просторі. Слово type є більш абстрактним, це те, коли ми говоримо, що „the” зустрічається у sentence три рази „те саме слово”(унікальні слова тексту). Відмінність цих значень слова ілюструє наступний фрагмент Python.
Оператор = = перевіряє, чи є два вирази однакові, перевіряє ідентичність стрічок. Це поняття ідентичності, яке було прийняте, коли використовувалась функція set ( ). На відміну від цього оператор is перевіряє чи збережені два об’єкти в тому самому місці пам’яті і він визначає token-ідентичність. Коли використовується метод split() для перетворення стрічки в список слів то такий метод токенізації о...